package io.bdmc.modules.bss.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.bdmc.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * FSP盘数据 实体
 * </p>
 *
 * @author 黄露
 * @since 2021-04-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
// "DeviceMachineFsp对象", description = "FSP盘数据")
public class DeviceMachineFsp extends Model<DeviceMachineFsp> {

  private static final long serialVersionUID = 1L;

  // "FSP数据")
  @TableId(value = "machine_fsp_id", type = IdType.AUTO)
  private Integer machineFspId;

  // "设备id")
  private Integer deviceId;

  @Excel(name = "单盘SN")
  private String diskSn;

  // "单盘槽位")
  private Integer singleSlot;

  // "工作模式")
  private String workMode;

  // "切换延时")
  private String switchDelay;

  // "工作信道")
  private String workingChannel;

  // "线路类型")
  private String lineType;

  // "告警信息")
  private String alarmInfo;

  // "TX功率")
  @Excel(name = "TX功率")
  private String txPower;

  @Excel(name ="T1功率")
  private String t1Power;

  @Excel(name = "T2功率")
  private String t2Power;

  @Excel(name ="RX功率")
  private String rxPower;

  @Excel(name = "R1功率")
  private String r1Power;

  @Excel(name ="R2功率")
  private String r2Power;

  // "序列号")
  private String serial;

  // "软件版本")
  private String softwareVersion;

  // "tx报警阈值")
  private String txAlarmThreshold;

  // "t1报警阈值")
  private String t1AlarmThreshold;

  // "t2报警阈值")
  private String t2AlarmThreshold;

  // "rx报警阈值")
  private String rxAlarmThreshold;

  // "r1报警阈值")
  private String r1AlarmThreshold;

  // "r2报警阈值")
  private String r2AlarmThreshold;

  // "r1切换阈值")
  private String r1SwitchThreshold;

  // "r2切换阈值")
  private String r2SwitchThreshold;

  // "光开关切换阈值")
  private String lightSwitchThreshold;

  // "模式不匹配标志")
  private String patternMismatch;

  //23-11-06 加 状态及告警
  private String stateAlarm;

  // "返回时间")
  private String returnTime;

  @Excel(name = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  private Boolean intervalSave;
  @TableField(exist = false)
  private String deviceSN;
  @Override
  public Serializable pkVal() {
    return this.machineFspId;
  }

}
